#ifndef __SYSTEMS_HH__
#define __SYSTEMS_HH__

#include "AbstractSystem.hh"

namespace Systems
{

/**
 * @struct SystemTpl
 * @brief Help system struct that holds the needed static information
 */
template< const char* SName, const char* SVersion >
struct SystemTpl : public Framework::AbstractSystem
{
public: // derived from AbstractSystem
    /** @brief this method is derived from AbstractSystem */
    const char* getName( void )     { return SName; }

    /** @brief this method is derived from AbstractSystem */
    const char* getVersion( void )  { return SVersion; }
        
};

} // namespace Systems

#endif